package com.rayc.mall.user.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rayc.mall.api.dto.LoginFormDTO;
import com.rayc.mall.api.dto.RegisterFormDTO;
import com.rayc.mall.api.dto.UserUpdateDTO;
import com.rayc.mall.user.domain.po.User;
import com.rayc.mall.user.domain.query.UserPageQuery;
import com.rayc.mall.user.domain.vo.UserLoginVO;

/**
 * @Author: Ray-C
 * @CreateTime: 2025-03-25
 * @Description: 用户service接口
 * @Version: 1.0
 */
public interface IUserService extends IService<User> {

    UserLoginVO login(LoginFormDTO loginFormDTO);

    void deductMoney(String pw, Integer totalFee);

    void register(RegisterFormDTO registerFormDTO);

    void updateInfo(UserUpdateDTO userUpdateDTO);

    Page<User> search(UserPageQuery query);
}
